﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities.Auditing;

namespace Acme.BookStore.FormWhx.Ruku
{
    public class RuKuDetailModel:AuditedAggregateRoot<Guid>
    {
        /// <summary>
        /// 入库id 外键
        /// </summary>
        public Guid RukuId { get; set; }
        /// <summary>
        /// 货品名称
        /// </summary>
        public string ? ItemName { get; set; }
        /// <summary>
        /// 货品类型
        /// </summary>
        public string ? GoodsType { get; set; }
        /// <summary>
        /// 规格型号
        /// </summary>
        public string ? GoodsSpec { get; set; }
        /// <summary>
        /// 单位
        /// </summary>
        public string ? Unit { get; set; }
        /// <summary>
        /// 当前库存
        /// </summary>
        public int ? CurrentNum { get; set; }
        /// <summary>
        /// 进货数量
        /// </summary>
        public int ? PurchaseNum { get; set; }
        /// <summary>
        /// 已入库数量
        /// </summary>
        public int ? YiRuNum { get; set; } //入库数量
        /// <summary>
        /// 未入库数量
        /// </summary>
        public int ? WeiRuNum { get; set; } 
        /// <summary>
        /// 进货单价
        /// </summary>
        public decimal ? PurchasePrice { get; set; }
        /// <summary>
        /// 进货金额
        /// </summary>
        public decimal ? PurchaseJine { get; set; }
        /// <summary>
        /// 入库库位
        /// </summary>
        public Location RuLocation { get; set; }
        /// <summary>
        /// 本次入库数量
        /// </summary>
        public int BenRuNum { get; set; }
        /// <summary>
        /// 批次号
        /// </summary>
        public string? PiCiNo { get; set; }
        /// <summary>
        /// 生产日期
        /// </summary>
        public DateTime? Createdate { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string ? Remarks { get; set; }
        /// <summary>
        /// 入库类型
        /// </summary>
        public RuType RuKuType { get; set; }
        protected RuKuDetailModel()
        {
        }

        public RuKuDetailModel(Guid id,Guid rukuId, RuType ruKuType, string itemName, string goodsType, string goodsSpec, string unit, int currentNum, int purchaseNum, int yiRuNum, int weiRuNum, decimal purchasePrice, decimal purchaseJine, Location ruLocation, int benRuNum, string piCiNo, DateTime createdate, string remarks):base(id)
        {
            RukuId = rukuId;
            RuKuType = ruKuType;
            ItemName = itemName;
            GoodsType = goodsType;
            GoodsSpec = goodsSpec;
            Unit = unit;
            CurrentNum = currentNum;
            PurchaseNum = purchaseNum;
            YiRuNum = yiRuNum;
            WeiRuNum = weiRuNum;
            PurchasePrice = purchasePrice;
            PurchaseJine = purchaseJine;
            RuLocation = ruLocation;
            BenRuNum = benRuNum;
            PiCiNo = piCiNo;
            Createdate = createdate;
            Remarks = remarks;
        }

    }
}
